package com.zyong.design.pattern.state.case2;

/**
 * 不能抽奖的状态
 * @author zyong
 */
public class NoRaffleAbstractState extends AbstractState {
    Activity activity;

    public NoRaffleAbstractState(Activity activity) {
        this.activity = activity;
    }

    /**
     * 当前状态可以扣除积分
     * 扣除后，将状态设置成可以抽奖状态
     */
    @Override
    public void deductingPoints() {
        System.out.println("扣除50积分成功，您可以抽奖了");
        activity.setState(activity.getCanRaffleState());
    }

    /**
     * 当前状态不能抽奖
     * @return
     */
    @Override
    public boolean raffle() {
        System.out.println("扣除了积分才能抽奖喔！");
        return false;
    }

    /**
     * 当前状态不能发放奖品
     */
    @Override
    public void distributePrizes() {
        System.out.println("不能发放奖品");
    }
}
